*++++++++++************************************+==---=+++-:..****+++*
+=+++++++++************************+*+++++++++++=--:-::--:  :###*****
=======+++++++===++++++++++++++++++++======++++==---=-::-. .-+++++==+
------=================-------==----------==++==-.-+*--+-.:*+:=+++==+
===============++++++++++++++++++++=========**=---***+**==*#-.=+==-=#
##############%####%%%#%%%###*****##*******#**********************+*#
%########################*********##*****###************************#
#######%%%#####%%%#####********#*=*******####**##*******************#
%%#%%%%%##########****************##********************************#
#*##*##***####********************###**#####************************#
############******************###*##********************************#
%%%######**************************%**#*############****************#
##***##**************************************#######******#*********#
****####************************##********##*#####******####********#
***###***************************##******######***###*****#####*****#
######*******************************+***###############*********##*#
###*******************************#*#*******#*****###################
#*********************************#***+**##*********############*####
**********************************#***+*******###############*####**#
**********###*********************##***+******#####################*#
**********###*********************##***********###*##*#########*****#
********###***********************##****+**********#####**######****#
%###%%%%%%%%%%%%%%#%%%%######%##%%%%%%%%##%%%%%%%%%%%%%%%%%%%%%%%%%%%